package com.itheima.service;

import com.itheima.pojo.Emp;
import com.itheima.pojo.EmpRequestParam;
import com.itheima.pojo.JobOption;
import com.itheima.pojo.PageResult;

import java.util.List;
import java.util.Map;

/**
     * 员工业务层接口
     */
public interface EmpService {
    /**
     * 分页查询员工逻辑方法
     */
    PageResult<Emp> page(EmpRequestParam empRequestParam);

    /**
     * 新增员工逻辑方法
     */
    void add(Emp emp);


    /**
     * 删除员工逻辑方法
     */
    void deleteEmpByIds(List<Integer> ids);

    /**
     * 根据id查询员工逻辑方法
     */
    Emp selectEmpById(Integer id);

    /**
     * 修改员工逻辑方法
     */
    void update(Emp emp);

    /**
     * 获取员工性别报表数据
     */
    List<Map<String, Object>> getEmpGenderReport();

    /**
     * 获取员工职位人数报表数据
     * */
    JobOption getEmpJobReport();

    /**
     * 获取所有员工
     */
    List<Emp> selectAll();

    /**
     * 员工登录
     */
    Emp checkLogin(Emp emp);
}